import type { PageParams } from './base';

export namespace OperationLogApi {
  /**
   * 操作日志接口定义
   */
  export interface OperationLogVO {
    /**
     * 日志ID
     */
    id: number;

    /**
     * 系统模块
     */
    systemModule: string;

    /**
     * 操作类型
     */
    operationType: string;

    /**
     * 操作状态
     */
    operationStatus: string;

    /**
     * 操作时间
     */
    operationTime: Date | string;

    /**
     * 请求方法
     */
    requestMethod: string;

    /**
     * 请求URL
     */
    requestUrl: string;

    /**
     * 方法路径
     */
    methodPath: string;

    /**
     * 请求参数
     */
    requestParams: string;

    /**
     * 响应参数
     */
    responseParams: string;

    /**
     * 错误信息
     */
    errorMessage: string;

    /**
     * IP地址
     */
    ipAddress: string;

    /**
     * IP信息
     */
    ipInfo: string;

    /**
     * 操作人名称
     */
    operatorName: string;

    /**
     * 操作耗时（毫秒）
     */
    operationDuration: number | string;
  }

  /**
   * 操作日志查询参数接口
   */
  export interface OperationLogQuery extends PageParams {
    /**
     * 系统模块
     */
    systemModule?: string;

    /**
     * 操作类型
     */
    operationType?: number;

    /**
     * 操作人
     */
    operator?: string;

    /**
     * 开始时间
     */
    startTime?: Date | string;

    /**
     * 结束时间
     */
    endTime?: Date | string;

    /**
     * 状态
     * @description 0-失败 1-成功
     */
    status?: number;

    /**
     * IP地址
     */
    ipAddress?: string;
  }
}
